CloudFrontエッジキャッシュクリアのみを行うユーザーの作成
こんにちは、吉井です。 いかがお過ごしでしょうか。
みなさまはCloudFrontをお使いでしょうか。 CloudFrontの管理は自社で行い、Webコンテンツ作成・アップロードは外部委託しているケースはよくあると思います。 コンテンツアップロード後には、それらのエッジキャッシュをクリアする必要があります。 即時性を考えるとコンテンツ作成担当者にCloudFrontエッジキャッシュのクリアまでお願い出来ればハッピーです。
今回は依頼を受けて、エッジキャッシュクリアだけ可能なIAMユーザーを作成します。
IAMユーザーの作成
AWSマネジメントコンソールへログインし、IAM画面を開きます。
ポリシー作成
ポリシー作成画面でJSONタブをクリックし以下のポリシーをペーストします。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListStreamingDistributions", "cloudfront:CreateInvalidation", "cloudfront:ListInvalidations", "cloudfront:GetInvalidation" ], "Resource": "*" } ] }
ポリシー名
ポリシーに名前を付けて、Create Policyをクリックします。
IAMユーザー作成
続きまして、ユーザーを作成します。
ユーザー名
ユーザー名を決めます。 アクセスの種類は用途に応じて適切な方法を選択してください。 - CLI、SDKでエッジキャッシュクリアさせたい場合 → プログラムによるアクセス - AWSマネジメントコンソール経由でエッジキャッシュクリアさせたい場合 → AWSマネジメントコンソールへのアクセス (画面例はAWSマネジメントコンソールへのアクセス)
ポリシーの付与
上で作成したポリシーを付与します。
自社のパスワードポリシーで定期的なパスワード変更など、 ユーザー自身にパスワードを変更させたい場合は、IAMUserChangePasswordを付与します。
確認
設定した内容を確認します。
CSVダウンロード
csvを忘れずにダウンロードします。
さいごに
権限を正しく設定することは簡単ではありませんが、上手に活用出来れば特定操作のみを許可したユーザーIDを払い出すことが可能です。 今回はCloudFrontエッジキャッシュクリアを行うためだけのユーザーを作成してみました。